package com.zhou.util;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Configuration;

//JSON序列化工具类
public class JsonUtil {
    private static final ObjectMapper objectMapper = new ObjectMapper();

    /**
     * 将 Java 对象序列化为 JSON 字符串
     * @param object 要序列化的 Java 对象
     * @return JSON 字符串
     * @throws Exception 序列化异常
     */
    public static String serialize(Object object) throws Exception {
        return objectMapper.writeValueAsString(object);
    }

    /**
     * 将 JSON 字符串反序列化为 Java 对象
     * @param json JSON 字符串
     * @param clazz 目标 Java 对象的类
     * @param <T> 目标 Java 对象的类型
     * @return 反序列化后的 Java 对象
     * @throws Exception 反序列化异常
     */
    public static <T> T deserialize(String json, Class<T> clazz) throws Exception {
        return objectMapper.readValue(json, clazz);
    }
}

